package cn.cdiothree.dto;

import cn.cdiothree.dataobject.OrderItem;
import cn.cdiothree.enums.OrderStatusEnum;
import cn.cdiothree.enums.PayStatusEnum;
import cn.cdiothree.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 订单商品信息展示
 * @author cumthing
 */
@Data
public class OrderDto implements Serializable {
    /**
     * 订单Id
     */
    @TableId
    private String orderId;

    /**
     * 用户姓名
     */
    private String buyerName;

    /**
     * 用户电话
     */
    private String buyerPhone;

    /**
     * 用户地址
     */
    private String buyerAddress;

    /**
     * 用户Id
     */
    private Integer userId;

    /**
     * 订单总金额
     */
    private BigDecimal orderAmount;

    /**
     * 订单状态：默认0为新下单
     */
    private Integer orderStatus;

    /**
     * 支付状态，默认0为未支付
     */
    private Integer payStatus;


    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    List<OrderItem> orderItemList;

    @JsonIgnore
    public OrderStatusEnum getOrderStatusEnum(){
        return EnumUtil.getByCode(orderStatus,OrderStatusEnum.class);
    }

    @JsonIgnore
    public PayStatusEnum getPayStatusEnum(){
        return EnumUtil.getByCode(payStatus,PayStatusEnum.class);
    }

}
